package cn.stormling.note2.config;

import org.springframework.scheduling.annotation.Scheduled;

import java.util.Date;

/**
 * @author stormling
 * @Scheduled 开启定时任务
 * 1.fixedRate 表示任务执行之间的时间间隔，具体是指两次任务的开始时间间隔，即第二次任务开始时，第一次任务可能还没结束。
 * 2.fixedDelay 表示任务执行之间的时间间隔，具体是指本次任务结束到下次任务开始之间的时间间隔。
 * 3.initialDelay 表示首次任务启动的延迟时间。
 * 4.所有时间的单位都是毫秒。
 */
public class ScheduleConfig {
    @Scheduled(fixedRate = 2000)
    public void fixedRate() {
        System.out.println("fixedRate>>>" + new Date());
    }

    @Scheduled(fixedDelay = 2000)
    public void fixedDelay() {
        System.out.println("fixedDelay>>>" + new Date());
    }

    @Scheduled(initialDelay = 2000, fixedDelay = 2000)
    public void initialDelay() {
        System.out.println("initialDelay>>>" + new Date());
    }
}
